CACAO - A 64-bit JavaVM Just-in-Time Compiler
نویسندگان
چکیده
This article describes the design and implementation of CACAO, a just in time compiler for Java. The CACAO system translates Java byte code on demand into native code for the ALPHA processor. During this translation process the stack oriented Java byte code is transformed into a register oriented intermediate code. Local variables and stack locations are replaced by pseudo registers eliminating the 32 bit restriction on address types. A fast register allocation algorithm is applied to map the pseudo registers to machine registers. During code generation, eld oosets are computed for proper alignment on 64 bit architectures. Even though the CACAO system has to incur loading and compilation time, it executes Java programs up to 85 times faster than the JDK interpreter, up to 7 times faster than the kaae JIT compiler. It is slightly slower than equivalent C programs compiled at the highest optimization level.
منابع مشابه
Javavm Implementation: Compilers versus Hardware
Compilers versus Hardware Andreas Krall1 and Anton Ertl1 and Michael Gschwind2 1 Institut f ur Computersprachen, Technische Universitat Wien Argentinierstra e 8, A-1040 Wien fandi,[email protected] 2 Institut f ur Technische Informatik, Technische Universitat Wien Treitlstra e 1, A-1040 Wien [email protected] Abstract. The Java Virtual Machine (JavaVM) has contributed gre...
متن کاملMonitors and Exceptions: How to Implement Java Eeciently
EEcient implementation of monitors and exceptions is crucial for the performance of Java. One implementation of threads showed a factor of 30 diierence in run time on some benchmark programs. This article describes an eecient implementation of monitors for Java as used in the CACAO just-in-time compiler. With this implementation the thread overhead is less than 40% for typical application progr...
متن کاملMonitors and Exceptions: How to Implement Java Efficiently
EEcient implementation of monitors and exceptions is crucial for the performance of Java. One implementation of threads showed a factor of 30 diierence in run time on some benchmark programs. This article describes an eecient implementation of monitors for Java as used in the CACAO just-in-time compiler. With this implementation the thread overhead is less than 40% for typical application progr...
متن کاملReport of the ASTEC project : HiPE - High Performance Erlang
The scientific goals of HiPE for the period 2001-2003 have been described in detail in the HiPE proposal which is electronically accessible here. To make this document relatively self-contained the goals are also very briefly outlined below: 1. Complete integration of the HiPE compiler within Erlang/OTP 2. Develop a HiPE compiler for Intel x86 machines 3. Port Open Source Erlang to 64-bit hardw...
متن کاملAdding 64-bit Pointer Support for a 32-bit Run-time Library
has extended the address space accessible to applications beyond the traditional 32-bit address space. This new address space is referred to as 64-bit virtual memory and requires a 64-bit pointer for memory access. The operating system has an additional set of new memory allocation routines that allows programs to allocate and release 64-bit memory. In OpenVMS Alpha version 7.0, this set of rou...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Concurrency - Practice and Experience
دوره 9 شماره
صفحات -
تاریخ انتشار 1997